home *** CD-ROM | disk | FTP | other *** search
- /*
- File: LinkedList.h
-
- Contains: A linked list
- Written by: Dave Mark
- Copyright: © 1994 by Dave Mark, all rights reserved.
- */
-
- #ifndef _LINKEDLIST_
- #define _LINKEDLIST_
-
- #ifndef _LINK_
- #include "Link.h"
- #endif
-
-
- const OSErr kLinkedList_LinkNotFoundErr = -2;
- const OSErr kLinkedList_CouldNotDeleteLinkErr = -3;
-
-
- class TLinkedList
- {
- public:
- TLinkedList();
- virtual ~TLinkedList();
-
- virtual OSErr CreateAndAddLink( void *objectPtr );
- virtual OSErr FindAndDeleteLink( void *objectPtr );
- virtual unsigned long CountLinks();
- virtual void *GetNthLinkObject( unsigned long linkIndex );
-
- protected:
- virtual void DeleteAllLinks();
- TLink *FindLink( void *objectPtr );
- virtual OSErr DeleteLink( TLink *linkPtr );
-
- TLink *fFirstLinkPtr;
- TLink *fLastLinkPtr;
- };
-
- #endif
-